System and method for propagating data

ABSTRACT

A system and method for propagating data commutates data from different data sources into a data stream based on a commutation format. The data is received and decommutated to replicate the data. The commutation format can be changed for prioritizing different data from the data sources.

FIELD OF THE INVENTION

[0001] The present invention relates to the field of data propagation, and more particularly, the present invention relates to a data propagation system and method for replicating a changing data set.

BACKGROUND OF THE INVENTION

[0002] Many communication systems are packet based, and in some areas such as battlefield management of personnel, tanks, or other items, the packets are difficult to implement. For example, it could be difficult to determine what data is transmitted first. There also are limited bandwidth considerations and it is difficult to determine which packets to drop and which to send. This could be critical in any battlefield management situation if one battle group begins moving and its data becomes more important (or has higher priority) to any command unit that receives and processes that data. Naturally, any high priority data should not be dropped and must be propagated in some fashion to the command.

[0003] Some database solutions have been proposed. In one proposed solution, updates are transaction based and each transaction contains additional information required to route and process the data. Any replication of a data set and its update frequency would require significant software development. Also, congestion control and prioritization are difficult to implement and modify. As data changes in priority and/or becomes more dynamic, a solution for optimizing how it is propagated becomes difficult to resolve.

SUMMARY OF THE INVENTION

[0004] In view of the foregoing background, it is therefore an object of the present invention to provide a system for propagating data that overcomes the disadvantages of the prior art.

[0005] It is another object of the present invention to provide a database driven commutation/decommutation system and method for overcoming the disadvantages of the prior art described above.

[0006] The present invention uses a database driven commutation/decommutation system, preferably based on the OS/Comet® product suite as a COTS product, used for satellite command and control and integration and testing, manufactured and sold by Harris Corporation of Melbourne, Fla.

[0007] The present invention requires little software development. It is easy to modify and is database driven. The invention uses a dynamic commutation format and switches the format to reprioritize data. The new commutation format dynamically changes the data set and update frequency. A new commutation format can be initiated from a sender (transmitter) or receiver. Any congestion control along a communications channel, for example, a serial communications channel, can be controlled through the commutation format definition.

[0008] The present invention is advantageous over other database transaction processing (DTP) and allows the commutation/decommutation process to replicate data used in non-telemetry type systems, for example, battlefield management systems. Based on an available data set, the system can visually define the data samples, its update frequency, and its priority for any transmitted data. New commutation formats can be created and modified dynamically and initiated based on any needs perceived by the sender or receiver. New commutation formats can be based on changing data needs, required update frequency, and any bandwidth limitations. Congestion and prioritization can be controlled by the commutation format definition. A sender can provide multiple commutation formats to one or many receivers.

[0009] In one aspect of the present invention, the system propagates data and includes a commutation engine for commutating data from different data sources into a data stream based on a commutation format. A decommutation engine receives the data stream and replicates the data. A commutation database has commutation format definitions that are operative with the commutation and decommutation engines and drives the commutation and decommutation based on the commutation format. The database can include appropriate commutation and decommutation tables. The system and method of the present invention changes the commutation format for prioritizing different data to be commutated and replicated.

[0010] In yet another aspect of the present invention, a database stores sampled data from different data sources from which data is commutated. A commutation format generator is operative with the commutation database and updates the commutation database with the new commutation format. The commutation database stores multiple commutation format definitions to be used with multiple receivers. The commutation format can be changed based on a change in environment effecting the data stream, on a change in priority of data, or on changing data requirements at a receiver. A change in the commutation format definition can be initiated by a receiver or a transmitter.

[0011] In yet another aspect of the present invention, the system includes a distributed messaging system operative with the commutation engine and providing communications among various modules that generate the format data into a data stream based on the commutation format. In one aspect of the present invention, the modules could include a data stream generator module, a data stream commutation format module, and a data output module that could be application specific for a receiver of the data. The distributed messaging system could be an OS/Comet® software bus. Other distributed messaging systems could be CORBA or DECOM.

[0012] The system includes a decommutation engine that decommutates the data stream received from the communications channel and replicates the data in the database using the commutation format definition stored in the commutation database. The decommutation engine would typically draw upon a decommutation table and decommutation format definitions. The decommutation engine can include an input module and decommutation module as part of the decommutation engine. It can be operative with a distributed messaging system.

[0013] A method aspect of the present invention is also disclosed and propagates data for commutating data from different data sources into a data stream based on a commutation format. Based on the commutation format, the data is decommutated to replicate the data. The method of the present invention advantageously changes the commutation format for prioritizing different data from the data sources.

BRIEF DESCRIPTION OF THE DRAWINGS

[0014] Other objects, features and advantages of the present invention will become apparent from the detailed description of the invention which follows, when considered in light of the accompanying drawings in which:

[0015]FIG. 1 is a high level block diagram of the system and method of the present invention and showing the commutation and decommutation engines, sampled data from data generators, replicated data, and a commutation format database with commutation and decommutation tables.

[0016]FIG. 2 is a block diagram of a commutation engine of the present invention and having different software modules operative with a distributed messaging system.

[0017]FIG. 3 is a block diagram of a decommutation engine of the present invention and having different software modules operative with a distributed messaging system.

[0018]FIG. 4 is a high level block diagram of a battlefield management system and showing basic commutation and decommutation stations operative with routers and an ActiveM TOPIC Service.

[0019]FIG. 5 is a data set of 32 characters that is associated with a decommutation definition as a non-limiting example.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0020] The present invention will now be described more fully hereinafter with reference to the accompanying drawings, in which preferred embodiments of the invention are shown. This invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Like numbers refer to like elements throughout, and prime notation is used to indicate similar elements in alternative embodiments.

[0021] The present invention allows dynamic determination of data selection and its update frequency for data propagation. It allows replication of a changing data set over a limited bandwidth used for propagating data. It also permits selection of any frequency of data updates and permits congestion and prioritization control. It is a database driven solution that is advantageous over prior art database transaction processing (DTP), in which database updates were typically transaction based and each transaction contained additional information required to route and process the data. The replication set and update frequency would require significant software development and congestion control and prioritization in the prior art techniques are difficult to implement and modify. As data changes in priority and/or becomes more dynamic, it is difficult to resolve how it is optimally propagated.

[0022] In a battlefield management system, many different types of data must be propagated throughout the entire arena. Data that is changing and sampled can be readily and efficiently shipped from sender to one or many receivers using the commutation/decommutation formatting of the present invention. As the battlefield scenario unfolds, different data types will become more critical, but the bandwidth provided for propagation may not be sufficient. In accordance with the present invention, by changing the commutation format, a new or modified data set and data update frequency scheme can be easily implemented to fit within the allotted bandwidth with deterministic results. As part of the commutation/decommutation system, the new commutation formats can be passed from the sender to receiver(s) prior to the switch, therefore allowing fully dynamic determination of what data is selected for propagation and at what update frequency.

[0023] This invention is different from past practice in the dynamic creation and modification of commutation formats in response to changing requirements in the data set being replicated point-to-point or point-to-multipoint. The dynamic commutation format updates address changes in data selection criteria and data item update frequency to account for reprioritization and congestion control in a database driven commutation/decommutation data propagation system.

[0024] This invention could be used for many types of data including GPS position information for individuals or for equipment, biographical data for infantry, including heart rate and cardiovascular data, ammunition status, equipment state of health information, including oil pressure, fuel level and component wear, environmental data, including temperature, humidity and chemical or hazardous gas sensors.

[0025] The dynamic changes could be the result of changing requirements on behalf of either the sender or receiver. They could be driven by quality of service requirements and the dynamically changing battlefield arena.

[0026] The present invention is a database driven and commutation/decommutation based. It can use the OS/Comet® TT&C commercial COTS product as distributed by Harris Corporation and modified for use in the present invention. All tools of the OS/Comet® product suite can be applicable for the present invention.

[0027] The present invention can be implemented with little software development and can be modified and database driven. It allows dynamic commutation format generation and switching to handle prioritization. The commutation format can dynamically change a data set and its update frequency. The new commutation format can be initiated by the transmitter (sender) or receiver. Congestion control through the data path can occur through a commutation format definition.

[0028] The present invention is advantageously used in battlefield management systems that use sampled and changing data, which must be distributed to one or multiple users over a typical serial connection having a limited bandwidth.

[0029]FIG. 1 is a fragmentary, high level block diagram of basic components used in the data propagation system 10 of the present invention and showing different data sources 12, for example, individual tanks or infrantrymen, which supply data as sampled data into a database 14. A transmitter 15 includes a commutation engine 16 operable with the commutation database 17 having commutation format definitions, including commutation and decommutation tables for commutation and decommutation. The term commutation format generally can refer to the definitions used for commutation and decommutation.

[0030] The commutation engine 16 commutates data from the different data sources 12 into a data stream 18 based on the commutation format and outputs commutated data as a preferred serial data stream through an output module 20 and into a serial communications channel 32 to an input module 24 of a receiver 26. A decommutation engine 28 receives the data stream from the input module, decommutates the data to replicate the data in a replicated database 30, as illustrated. The commutation database 17 stores commutation format definitions that are operative with the commutation and decommutation engines 16,28 for driving the commutation and decommutation based on the commutation format and changing the commutation format and prioritizing different data to be commutated and replicated. The database 14 stores sampled data from the different data sources 12 and the sampled data is commutated.

[0031] In the present invention, a commutation format generator 32 could be a processor or other logical circuit and is operative with the commutation database 17 for updating the commutation database with any new commutation format definitions. This allows the system to change the commutation format and prioritize different data to be commutated and replicated. The commutation database can store multiple commutation format definitions to be used with multiple receivers that require different data or prioritize data differently.

[0032] The commutation format could be changed based on a change in priority of data, any changed data requirements at a receiver, or a change in environment effecting the data stream, such as changing bandwidth caused by environmental conditions, e.g., a sand storm.

[0033] As shown in FIG. 2, the transmitter 15 and commutation engine 16 include a distributed messaging system 34 that provides communications among modules that generate and format data into a data stream based on a commutation format. The various modules can include a data stream generator module 36, data stream commutation format module 38 and data stream output module 40, which can be application specific for a receiver. For example, data stream output module 40 can apply appropriate messaging protocols for communicating with a receiver. It can obtain data from a database as necessary. An interface could be the OS/Comet® software bus. It could also include system V sockets, RS-232 or RS-422 serial data link. Appropriate sequencing, error detection and error correction mechanisms can be used.

[0034] As shown in FIG. 3, the decommutation engine 28 could also include a distributed messaging system 34 and different modules, including an input module 42 and data stream decommutation module 44 that decommutates data based on the commutation format (decommutation table). Depending on the type of data, a graphical user interface can be driven by a display module 46 for displaying data that has been prioritized. The input module 42 can be application specific.

[0035] The commutation and decommutation engines 16,28 are operable with the commutation database 17, which includes appropriate commutation and decommutation tables that can be updated by the format generator 32. Other details of the decommutation and commutation engines and associated modules and functions, including operation of OS/Comet® and can be modified for use with the present invention, are disclosed in commonly assigned U.S. Pat. Nos. 6,048,366 and 6,256,602 to Ellis et al. and commonly assigned WO 01/55874, the disclosures which are hereby incorporated by reference in their entirety.

[0036]FIG. 4 is a high level depiction of several communication networks 50,52,54 interconnected by routers 56. One network 50 includes a commutation station 58 and the other two networks 52,54 each include a decommutation station 60. The overall system 62 can be used as a battlefield management system, for example. The commutation station 58 could be a moving vehicle in communication with various soldiers having backpacks 62, as an example, communicating by wireless signal with the commutation station 58. Each backpack 62 could include a transceiver or other system such as a Compact IPAQ computer using Linux and simulated by a Perform file. The commutation station could be a Sun Workstation, for example, using OS/Comet® software for commutation and operable as an ActiveM router. Any decommutation station could be a similar platform and operable as a router. The commutation and decommutation stations could be operable with DCOM databases holding data from different data sources. The router 56 could be operable with an ActiveM Topic Service 64.

[0037] ActiveM software, as developed by Harris Corporation of Melbourne, Fla., is used with Windows and is message-oriented middleware (MOM) that uses distributed applications. ActiveM uses a register (produce) and subscribe (consume) system for message data transfer with intelligent data routing. ActiveM-aware applications can connect to an ActiveM router running on a network node to send and receive data. An ActiveM server running on a single network node can handle topics, subscriptions and registrations and multiple ActiveM subnets can run concurrently on one network. It is possible to communicate between many machines and processors and/or be connected to the internet.

[0038] ActiveM allows applications to send data transparently between different processes. ActiveM uses the “published and subscribe concept” where data is made available to other applications by an application that registers a Topic with a server. A subscriber “subscribes to a TOPIC with an ActiveM server before it receives messages of the type specified by the TOPIC. A publisher “registers” a TOPIC with an ActiveM server before it sends messages of the type specified by the TOPIC. When a publisher sends a message, all subscribers of that TOPIC will receive a copy of the message. For example, a data set could be 32 characters and associated with a DECOM definition, such as illustrated in FIG. 5.

[0039] When a subscriber and publisher are active, a server informs a router that it is requesting information and establishes a link with the router that is servicing the publishing application. When the connection is made, the application providing the data publishes a message, and it is sent via the routers to the application requesting data. There can be any number of subscribers to a topic. Back-up processes can be used.

[0040] The present invention also uses the OS/Comet® software product suite, such as modified for the present invention. This software is a COTS product for satellite command and control, and integration and testing. A different set of COTS tools can be incorporated, including the OA/tool, GC/tool, FA/tool, AR/tool, and SIM/tool. The OS/Comet® software facilitates a specific task related to satellite control and can be modified for use in the present invention, including battlefield management with commutation format definition updates.

[0041] The OS/Comet® software bus allows system administration and communication services and is operative for data distribution, language processing as processed CCL, recording and logging. Data distribution is operable with symbol processing and data processing. Language processing circuits can be used for command processing. Different OS/Comet® facilities that can be used in the present invention include a system administration facility that maintains knowledge of OS/Comet® processes and resources. It provides a distributed process naming service with query capability and notification. This facility also manages distribution of system locks and maintains distributed knowledge of OS/Comet® processes and resources.

[0042] The communication services facility of OS/Comet® can implement process-to-process message capability and manage communication between OS/Comet® processes as a system and any user-developed systems on a node and between nodes. The symbol processing facility is a specific item of data with associated attributes and can be used for the receipt of data or the specification of command parameters. The symbol attributes can include a name, a conversion function used to convert raw data into engineering units, alarm limit set points, and other conversion functions, for example, for battlefield management. The data can be represented as symbols and can include command parameter data and process status information.

[0043] An Mfile is a collection of symbols defined by a symbol definition file and generates run-time optimized symbol tables. A data distribution facility maintains knowledge of each Mfile, including server and clients, and distributes symbol value updates written to an Mfile by a server to open clients of an Mfile. The processing facility with this application software decommutates data into individual symbols. Any decommutation format as part of the overall commutation format definitions stored in the commutation database defines the packets that may be received for a specific recording format. Decommutation formats can defined off-line using a decommutation definition file, which generates the run-time and optimizes the decommutation database. Of course, the decommutation table is operative as part of the overall format definition.

[0044] It is evident that the present invention advantageously allows dynamic determination of data selection and update frequency for data propagation. It uses a database driven communication/decommutation solution and is easy to implement with little software development. It is easy to modify and is database driven. It allows dynamic commutation format generation and allows switching to handle prioritization. The commutation format can dynamically change the data set and its update frequency. A new commutation format can be initiated from the sender or receiver. Congestion control can be through the commutation format definition.

[0045] Many modifications and other embodiments of the invention will come to the mind of one skilled in the art having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. Therefore, it is understood that the invention is not to be limited to the specific embodiments disclosed, and that modifications and embodiments are intended to be included within the scope of the appended claims. 

That which is claimed is:
 1. A system for propagating data comprising: a commutation engine for commutating data from different data sources into a data stream based on a commutation format; a decommutation engine for receiving the data stream, decommutating the data and replicating the data; and a commutation database having commutation format definitions operative with the commutation and decommutation engines for changing the commutation format and prioritizing different data to be commutated and replicated.
 2. A system according to claim 1, and further comprising a database for storing sampled data from different data sources from which data is commutated.
 3. A system according to claim 1, and further comprising a commutation format generator operative with the commutation database for updating the commutation database with a new commutation format.
 4. A system according to claim 1, wherein said commutation database stores multiple commutation format definitions to be used with multiple receivers.
 5. A system according to claim 1, wherein the commutation format is changed based on a change in environment effecting the data stream.
 6. A system according to claim 1, wherein the commutation format is changed based on a change in priority of data.
 7. A system according to claim 1, wherein the commutation format is changed based on changing data requirements at a receiver.
 8. A system according to claim 1, wherein a change in commutation format is initiated by a receiver.
 9. A system according to claim 1, wherein a change in commutation format is initiated by a transmitter.
 10. A system according to claim 1, and further comprising a distributed messaging system operative with the commutation engine and providing communications among modules that generate and format data into a data stream based on the commutation format.
 11. A system for propagating data comprising: a database for storing data sampled from different data sources; a data transmitter including a commutation engine for commutating data from the database into a data stream based on a commutation format and propagating the data stream into a communications channel; a data receiver including a decommutation engine for receiving the data stream propagated along the communications channel, decommunicating the data, and replicating the data within a database; and a commutation database having commutation format definitions operative with the commutation and decommutation engines for changing the commutation format and prioritizing different data to be commutated and replicated.
 12. A system according to claim 11, wherein said communications channel comprises a serial communications channel.
 13. A system according to claim 11, and further comprising a commutation format generator mechanism operative with the commutation database for updating the commutation database with a new commutation format.
 14. A system according to claim 11, wherein said commutation database stores multiple commutation format definitions to be used with multiple receivers.
 15. A system according to claim 11, wherein the commutation format is changed based on a change in environment effecting the data stream.
 16. A system according to claim 11, wherein the commutation format is changed based on a change in priority of data.
 17. A system according to claim 11, wherein the commutation format is changed based on changing data requirements at a receiver.
 18. A system according to claim 11, wherein a change in commutation format is initiated by a receiver.
 19. A system according to claim 11, wherein a change in commutation format is initiated by a transmitter.
 20. A system according to claim 11, wherein said data transmitter comprises a distributed messaging system that provides communications among modules that generate and format data into a data stream based on a commutation format.
 21. A method of propagating data comprising the steps of: commutating data from different data sources into a data stream based on a commutation format; receiving the data and based on commutation format, decommutating the data stream to replicate the data; and changing the commutation format for prioritizing different data from the data sources.
 22. A method according to claim 21, and further comprising the step of decommutating data at a receiver based on the commutation format.
 23. A method according to claim 21, and further comprising the step of sampling data from different data sources and storing the sampled data within a database from which data is commutated.
 24. A method according to claim 21, and further comprising the step of storing definitions for the commutation format within a commutation database and updating the commutation database with a new commutation format.
 25. A method according to claim 21, and further comprising the step of providing multiple commutation formats for multiple receivers.
 26. A method according to claim 21, and further comprising the step of changing the commutation format based on a change in environment effecting the data stream.
 27. A method according to claim 21, and further comprising the step of changing the commutation format based on a change in priority of data.
 28. A method according to claim 21, and further comprising the step of changing the commutation format based on changing data requirements at a receiver.
 29. A method according to claim 21, and further comprising the step of initiating a change in commutation format from a receiver that receives the data stream.
 30. A method according to claim 21, and further comprising the step of initiating a change in commutation format from a transmitter that transmits the data stream.
 31. A method of propagating data comprising the steps of: sampling data from different data sources; storing the sampled data within a database; commutating data from the database into a data stream based on a commutation format; propagating the commutated data over a communications channel to a receiver; decommutating the commutated data at the receiver based on the commutation format to replicate data of the database; and changing the commutation format for prioritizing different data to be commutated and replicated at the receiver.
 32. A method according to claim 31, and further comprising the step of changing the commutation format based on congestion within the communications channel.
 33. A method according to claim 31, and further comprising the step of decommutating data at the receiver based on the commutation format of transmitted data.
 34. A method according to claim 31, and further comprising the step of storing definitions for the commutation format within a commutation database and updating the commutation database with a new commutation format.
 35. A method according to claim 31, and further comprising the step of providing multiple commutation formats for multiple receivers.
 36. A method according to claim 31, and further comprising the step of changing the commutation format based on a change in environment effecting the serial data stream.
 37. A method according to claim 31, and further comprising the step of changing the commutation format based on a change in priority of data to be transmitted.
 38. A method according to claim 31, and further comprising the step of changing the commutation format based on changing data requirements at the receiver.
 39. A method according to claim 31, and further comprising the step of initiating a change in commutation format from a receiver that receives the data stream.
 40. A method according to claim 31, and further comprising the step of initiating a change in commutation format from a transmitter that transmits the data stream.
 41. A system for propagating data comprising: a commutation engine for commutating data from different data sources into a data stream based on a commutation format; and a commutation database having commutation format definitions operative with the commutation engine for changing the commutation format and prioritizing different data.
 42. A system according to claim 41, and further comprising a database for storing sampled data from different data sources from which data is commutated.
 43. A system according to claim 41, and further comprising a commutation format generator operative with the commutation database for updating the commutation database with a new commutation format.
 44. A system according to claim 41, wherein said commutation database stores multiple commutation format definitions to be used with multiple receivers. 